﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{
//	FILE* pf = fopen("tx.text", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	for (char c = 'a'; c < 'f'; c++)
//	{
//		fputc(c, pf);
//	}
//	fclose(pf);
//	pf = NULL;
//
//	FILE* str = fopen("tx.text", "r");
//	if (str == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	int a;
//	while ((a = fgetc(str))!=EOF)
//	{
//		printf("%c ", a);
//	}
//	printf("\n");
//	if (feof(str))
//	{
//		printf("succeful");
//	}
//	else if (ferror(str))
//	{
//		printf("error");
//	}
//	fclose(str);
//	str = NULL;
//	return 0;
//}


//#include <stdio.h>
//int main()
//{
//	int arr[] = { 2,1,3,4,5,6, };
//	FILE* pf = fopen("tx.text", "wb");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	fwrite(arr, sizeof * arr, 6, pf);
//	fclose(pf);
//	pf = NULL;
//
//	FILE* str = fopen("tx.text", "rb");
//	if (str == NULL)
//	{
//	perror("fopen");
//	return 1;
//	}
//
//	int a = fread(arr, sizeof * arr, 6, str);
//	if (a == 6)
//	{
//		
//		for (int i = 0; i < a; i++)
//		{
//			printf("%d", arr[i]);
//		}
//		printf("\n");
//	}
//	
//	if (feof(str))
//	{
//		printf("no end of file");
//
//	}
//	else if (ferror(str))
//		printf("erroe");
//	fclose(str);
//	return 0;
//}

//#include <stdio.h>
//
//enum { SIZE = 5 };
//int main(void)
//{
//	double a[SIZE] = { 1.,2.,3.,4.,5. };
//	FILE* fp = fopen("test.bin", "wb"); // 必须⽤⼆进制模式 
//	fwrite(a, sizeof * a, SIZE, fp); // 写 double 的数组 
//	fclose(fp);
//
//	double b[SIZE];
//	fp = fopen("test.bin", "rb");
//	size_t ret_code = fread(b, sizeof * b, SIZE, fp); // 读 double 的数组 
//	if (ret_code == SIZE) {
//		puts("Array read successfully, contents: ");
//		for (int n = 0; n < SIZE; ++n)
//			printf("%f ", b[n]);
//		putchar('\n');
//	}
//	else { // error handling
//		if (feof(fp))
//			printf("Error reading test.bin: unexpected end of file\n");
//		else if (ferror(fp)) {
//			perror("Error reading test.bin");
//		}
//	}
//
//	fclose(fp);
//}

//使用所学文件操作，在当前目录下放一个文件data.txt，写一个程序，将data.txt文件拷贝一份，生成data_copy.txt文件。
//
//基本思路：
//
//1.打开文件data.txt，读取数据
//2.打开文件data_copy.txt，写数据
//3.从data.txt中读取数据存放到data_copy.txt文件中，直到文件结束。
//4.关闭两个文件

//#include <stdio.h>
//int main()
//{
//	FILE* pf = fopen("dat.text", "rb");
//	FILE* str = fopen("dat_copy.text", "wb");
//	char a;
//	while ((a=fgetc(pf))!=EOF)
//	{
//		fputc(a , str);
//	}
//	fclose(str);
//	fclose(pf);
//	return 0;
//}


//#include <stdio.h>
//
//int main() {
//    FILE* sourceFile, * targetFile;
//    char ch;
//
//    // 打开源文件data.txt以供读取
//    sourceFile = fopen("dat.text", "rb"); // 使用二进制模式以避免跨平台问题
//    if (sourceFile == NULL) {
//        perror("Error opening source file");
//        return -1;
//    }
//
//    // 打开目标文件data_copy.txt以供写入
//    targetFile = fopen("dat_copy.text", "wb"); // 使用二进制模式以避免跨平台问题
//    if (targetFile == NULL) {
//        perror("Error opening target file");
//        fclose(sourceFile); // 关闭已打开的源文件
//        return -1;
//    }
//
//    // 从源文件读取数据并写入目标文件，直到文件结束
//    while ((ch = fgetc(sourceFile)) != EOF) {
//        fputc(ch, targetFile);
//    }
//
//    // 检查是否因为读取错误而结束
//    if (ferror(sourceFile)) {
//        perror("Error reading from source file");
//    }
//
//    // 关闭两个文件
//    fclose(sourceFile);
//    fclose(targetFile);
//
//    return 0;
//}


//写一个函数判断当前机器是大端还是小端，如果是小端返回1，如果是大端返回0
//#include <stdio.h>
//union un
//{
//	int a;
//	char b;
//};
//int test()
//{
//	union un s;
//	s.a = 1;
//
//	if (s.b == 1)
//	{
//		return 1;
//	}
//	else
//		return 0;
//}
//int main()
//{
//	int x = test();
//	printf("%d", x);
//	return 0;
//}
//模拟实现strlen
//int my_strlen(char* str)
//{
//	int count = 0;
//	while (*str)
//	{
//		str++;
//		count++;
//	}
//	return count;
//}
//#include <stdio.h>
//int main()
//{
//	char arr[] = "pwjocxiw";
//	int a = my_strlen(arr);
//	printf("%d", a);
//	return 0;
//}


//模拟实现strcpy
//void  my_strcpy(char* des, char* src)
//{
//	char* ret = des;
//	while ((*des++) = (*src++))
//	{
//		;
//	}
//}
//#include <stdio.h>
//int main()
//{
//	char arr1[10] ;
//	char arr2[] = "jkxqwa";
//	my_strcpy(arr1, arr2);
//	printf("%s",arr1);
//	return 0;
//}


//模拟实现strcat
//void my_strcat(char* des, char* src)
//{
//	while (*des)
//	{
//		des++;
//	}
//	while ((*des++) = (*src++))
//	{
//		;
//	}
//
//}
//
//#include <stdio.h>
//int main()
//{
//	char arr1[15] = "cjd";
//	char arr2[] = "jkxqwa";
//	my_strcat(arr1, arr2);
//	printf("%s", arr1);
//	return 0;
//}

//void test(int x)
//{
//	if ((x % 4 == 0 && x % 100 != 0) || x % 400 == 0)
//	{
//		printf("是闰年");
//	}
//	else
//		printf("不是闰年");
//}
//#include <stdio.h>
//int main()
//{
//	int year;
//	scanf("%d", &year);
//	test(year);
//	return 0;
//}

